<?php
	
	class AppModel extends Object {
		
		/**
		* an example field definition.
		* public $fields = array(
		* 'title' => array('name' => 'title', 'type' => 'varchar', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci')
		* );
		*/
		public $fields = array();
		public $name;
		public $table_name; 
		public $prefix = '';
		public $storage_engine = NULL;
		public $description = NULL;
		public $conn;
		
		public $settings = array(
			'character_set' => 'utf8',
			'collation' => 'utf8_unicode_ci',
			'multisite' => true,
			'enable_revisions' => false,
			'parent_child' => false,
			'multilingual' => false
		);
		
		public $primary = array(
			'name' => 'id',
			'type' => 'int',
			'attributes' => array('unsigned' => true, 'null' => false, 'auto_increment' => true)
		);
		
		public $site_id = array(
			'name' => 'site_id'
		);
		
		public $revision = array(
			'revision_table' => 'filled_in_contructor',
			'max_revisions' => 20
		);
		
		public $owner = array(
			'name' => 'owner_id'
		);
		
		public $parent = array(
			'name' => 'parent_id'
		);
		
		public $language = 'en';
		
		public $hasMany = array();
		public $belongsTo = array();
		public $hasAndBelongsTo = array();
		
		
		public $validation = array();
		
		public function __construct($connection = 'default') {
		
		}
		
		public function onTableCreate() {
			
			if(!defined('DEBUG_MODE') || DEBUG_MODE !== true) {
				return false;
			}
			
		}
		
		public function beforeSave() {
		
		}
		
		public function afterSave() {
		
		}
		
		public function beforeDelete() {
		
		}
		
		public function afterDelete() {
		
		}
		
		public function beforeUpdate() {
		
		}
		
		public function afterUpdate() {
		
		}
		
	
	}